#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <string>
using namespace std;

//void func(const string& s)
//{
//	string::const_reverse_iterator it = s.rbegin();
//	
//}


//int main()
//{
//	string s1("helloworld");
//	//cout<<s1.assign(s1)<<endl;
//	//s1.insert(5, 1,' ');
//	cout<<s1<<endl;
//	s1.insert(s1.begin() + 5, ' ');
//	cout << s1 << endl;
//	/*s1.erase(5);
//	cout << s1 << endl;*/
//	s1.replace(5,1, " ");
//	/*string::reverse_iterator it = s1.rbegin();
//	int i = 2;
//	while (it!=s1.rend())
//	{
//		cout << *it << " ";
//		++it;
//	}
//	cout << endl;*/
//
//}

//int main()
//{
//	string s1("hello world i love you");
//	int num = 0;
//	for (auto& ch : s1)
//	{
//		if (ch == ' ')
//		{
//			num++;
//		}
//	}
//	cout << num << endl;
//	s1.reserve(s1.size() + 2 * num);
//	int pos = s1.find(" ");
//	while (pos != std::string::npos)
//	{
//		s1.replace(pos, 1, "%20d");
//		pos = s1.find(" ", pos + 3);
//	}
//	cout << s1 << endl;
//
//
//	return 0;
//}




//int main()
//{
//	string filename("test.cpp");
//	FILE* fout = fopen(filename.c_str(), "r");
//	if (fout == nullptr)
//	{
//		perror("fopen fail");
//	}
//
//	char ch = fgetc(fout);
//	while (ch != EOF)
//	{
//		cout << ch;
//		ch = fgetc(fout);
//	}
//
//	fclose(fout);
//
//	return 0;
//}


//int main()
//{
//	string url("https://cplusplus.com/reference/cassert/");
//	cout << url << endl;
//	int start = url.find("://");
//	if (start == string::npos)
//		cout << "invaild url" << endl;
//
//	start += 3;
//	int finsh = url.find('/', start);
//	string sub = url.substr(start, finsh - start+1);
//	cout << sub << endl;
//	return 0;
//}

int main()
{
	string str("Please, replace the vowels in this sentence by asterisks.");
	size_t found = str.find_first_of("aeiou");
	while (found != string::npos)
	{
		str[found] = '*';
		found = str.find_first_of("aeiou", found + 1);
	}

	cout << str << '\n';


	return 0;
}